package com.example.feign;

import com.example.pojo.Menu;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@FeignClient(value = "menu")  //声明要消费的容器
public interface MenuFeign {

    @RequestMapping("/menu/index")
    String index();

    /**
     * 查询所有菜单信息
     * @param startIndex
     * @param nums
     * @return
     */
    @GetMapping("/menu/selectAll/{startIndex}/{nums}")
    List<Menu> selectAllMenu(@PathVariable("startIndex") Integer startIndex,
                             @PathVariable("nums") Integer nums);


    /**
     * 按照任意属性查询菜单信息
     * @param menu
     * @return
     */
    @RequestMapping("/menu/selectByField")
    Menu selectMenuByField(Menu menu);

    /**
     * 查询菜单信息数量
     * @return
     */
    @GetMapping("/menu/selectCount")
    Integer countMenu();

    /**
     * 更新菜单信息
     * @param menu
     * @return
     */
    @RequestMapping("/menu/updateByField")
    String updateMenuByField(Menu menu);

    /**
     * 新增菜单信息
     * @param menu
     * @return
     */
    @RequestMapping("/menu/insertByField")
    String insertMenuByField(Menu menu);

    /**
     * 删除菜单信息
     * @param menu
     * @return
     */
    @RequestMapping("/menu/deleteByField")
    String deleteMenuByField(Menu menu);

}
